package com.mine.yyb.modules.sys.bo;

import com.mine.yyb.common.utils.jdbc.MineBaseBO;

/**
 * <pre>
 * <一句话功能简述>
 * 
 * 用户BO类
 * 
 * <功能详细描述>
 * </pre>
 * 
 * @author xuganhua
 * @version [版本号, 2015年12月13日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class UserBO extends MineBaseBO
{
    
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = -6881647333704193538L;
    
    // 主键
    private int id;
    
    // 账号
    private String username;
    
    // 密码
    private String password;
    
    // 新密码
    private String newPwd;
    
    // 确认密码
    private String confirmPwd;
    
    // 内部ID
    private String innerID;
    
    // 上线用户内部ID
    private String parentInnerID;
    
    // 角色 1管理员 2普通用户
    private int role;
    
    // 订单编号
    private String orderID;
    
    // 邮箱
    private String email;
    
    // 激活状态 1已激活 2未激活
    private int status;
    
    // 创建日期
    private String createDate;
    
    // 更新日期
    private String updateDate;
    
    // 支付宝账号
    private String payAccount;
    
    // QQ账号
    private String qq;
    
    // 真实姓名
    private String name;
    
    /**
     * 获取 id
     * 
     * @return 返回 id
     */
    public int getId()
    {
        return id;
    }
    
    /**
     * 设置 id
     * 
     * @param 对id进行赋值
     */
    public void setId(int id)
    {
        this.id = id;
    }
    
    /**
     * 获取 username
     * 
     * @return 返回 username
     */
    public String getUsername()
    {
        return username;
    }
    
    /**
     * 设置 username
     * 
     * @param 对username进行赋值
     */
    public void setUsername(String username)
    {
        this.username = username;
    }
    
    /**
     * 获取 password
     * 
     * @return 返回 password
     */
    public String getPassword()
    {
        return password;
    }
    
    /**
     * 设置 password
     * 
     * @param 对password进行赋值
     */
    public void setPassword(String password)
    {
        this.password = password;
    }
    
    /**
     * 获取 newPwd
     * 
     * @return 返回 newPwd
     */
    public String getNewPwd()
    {
        return newPwd;
    }
    
    /**
     * 设置 newPwd
     * 
     * @param 对newPwd进行赋值
     */
    public void setNewPwd(String newPwd)
    {
        this.newPwd = newPwd;
    }
    
    /**
     * 获取 confirmPwd
     * 
     * @return 返回 confirmPwd
     */
    public String getConfirmPwd()
    {
        return confirmPwd;
    }
    
    /**
     * 设置 confirmPwd
     * 
     * @param 对confirmPwd进行赋值
     */
    public void setConfirmPwd(String confirmPwd)
    {
        this.confirmPwd = confirmPwd;
    }
    
    /**
     * 获取 innerID
     * 
     * @return 返回 innerID
     */
    public String getInnerID()
    {
        return innerID;
    }
    
    /**
     * 设置 innerID
     * 
     * @param 对innerID进行赋值
     */
    public void setInnerID(String innerID)
    {
        this.innerID = innerID;
    }
    
    /**
     * 获取 parentInnerID
     * 
     * @return 返回 parentInnerID
     */
    public String getParentInnerID()
    {
        return parentInnerID;
    }
    
    /**
     * 设置 parentInnerID
     * 
     * @param 对parentInnerID进行赋值
     */
    public void setParentInnerID(String parentInnerID)
    {
        this.parentInnerID = parentInnerID;
    }
    
    /**
     * 获取 role
     * 
     * @return 返回 role
     */
    public int getRole()
    {
        return role;
    }
    
    /**
     * 设置 role
     * 
     * @param 对role进行赋值
     */
    public void setRole(int role)
    {
        this.role = role;
    }
    
    /**
     * 获取 orderID
     * 
     * @return 返回 orderID
     */
    public String getOrderID()
    {
        return orderID;
    }
    
    /**
     * 设置 orderID
     * 
     * @param 对orderID进行赋值
     */
    public void setOrderID(String orderID)
    {
        this.orderID = orderID;
    }
    
    /**
     * 获取 email
     * 
     * @return 返回 email
     */
    public String getEmail()
    {
        return email;
    }
    
    /**
     * 设置 email
     * 
     * @param 对email进行赋值
     */
    public void setEmail(String email)
    {
        this.email = email;
    }
    
    /**
     * 获取 status
     * 
     * @return 返回 status
     */
    public int getStatus()
    {
        return status;
    }
    
    /**
     * 设置 status
     * 
     * @param 对status进行赋值
     */
    public void setStatus(int status)
    {
        this.status = status;
    }
    
    /**
     * 获取 createDate
     * 
     * @return 返回 createDate
     */
    public String getCreateDate()
    {
        return createDate;
    }
    
    /**
     * 设置 createDate
     * 
     * @param 对createDate进行赋值
     */
    public void setCreateDate(String createDate)
    {
        this.createDate = createDate;
    }
    
    /**
     * 获取 updateDate
     * 
     * @return 返回 updateDate
     */
    public String getUpdateDate()
    {
        return updateDate;
    }
    
    /**
     * 设置 updateDate
     * 
     * @param 对updateDate进行赋值
     */
    public void setUpdateDate(String updateDate)
    {
        this.updateDate = updateDate;
    }
    
    /**
     * 获取 payAccount
     * 
     * @return 返回 payAccount
     */
    public String getPayAccount()
    {
        return payAccount;
    }
    
    /**
     * 设置 payAccount
     * 
     * @param 对payAccount进行赋值
     */
    public void setPayAccount(String payAccount)
    {
        this.payAccount = payAccount;
    }
    
    /**
     * 获取 qq
     * @return 返回 qq
     */
    public String getQq()
    {
        return qq;
    }

    /**
     * 设置 qq
     * @param 对qq进行赋值
     */
    public void setQq(String qq)
    {
        this.qq = qq;
    }

    /**
     * 获取 name
     * 
     * @return 返回 name
     */
    public String getName()
    {
        return name;
    }
    
    /**
     * 设置 name
     * 
     * @param 对name进行赋值
     */
    public void setName(String name)
    {
        this.name = name;
    }
    
    /** 
     * <pre>
     * <一句话功能简述>
     * <功能详细描述>
     * </pre>
     *
     * @author  xuganhua
     * @version  [版本号, 2016年5月5日]
     * @return
     * @see [类、类#方法、类#成员]
     */
    @Override
    public int hashCode()
    {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((confirmPwd == null) ? 0 : confirmPwd.hashCode());
        result = prime * result + ((createDate == null) ? 0 : createDate.hashCode());
        result = prime * result + ((email == null) ? 0 : email.hashCode());
        result = prime * result + id;
        result = prime * result + ((innerID == null) ? 0 : innerID.hashCode());
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        result = prime * result + ((newPwd == null) ? 0 : newPwd.hashCode());
        result = prime * result + ((orderID == null) ? 0 : orderID.hashCode());
        result = prime * result + ((parentInnerID == null) ? 0 : parentInnerID.hashCode());
        result = prime * result + ((password == null) ? 0 : password.hashCode());
        result = prime * result + ((payAccount == null) ? 0 : payAccount.hashCode());
        result = prime * result + ((qq == null) ? 0 : qq.hashCode());
        result = prime * result + role;
        result = prime * result + status;
        result = prime * result + ((updateDate == null) ? 0 : updateDate.hashCode());
        result = prime * result + ((username == null) ? 0 : username.hashCode());
        return result;
    }
    
    /** 
     * <pre>
     * <一句话功能简述>
     * <功能详细描述>
     * </pre>
     *
     * @author  xuganhua
     * @version  [版本号, 2016年5月5日]
     * @param obj
     * @return
     * @see [类、类#方法、类#成员]
     */
    @Override
    public boolean equals(Object obj)
    {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        UserBO other = (UserBO)obj;
        if (confirmPwd == null)
        {
            if (other.confirmPwd != null)
                return false;
        }
        else if (!confirmPwd.equals(other.confirmPwd))
            return false;
        if (createDate == null)
        {
            if (other.createDate != null)
                return false;
        }
        else if (!createDate.equals(other.createDate))
            return false;
        if (email == null)
        {
            if (other.email != null)
                return false;
        }
        else if (!email.equals(other.email))
            return false;
        if (id != other.id)
            return false;
        if (innerID == null)
        {
            if (other.innerID != null)
                return false;
        }
        else if (!innerID.equals(other.innerID))
            return false;
        if (name == null)
        {
            if (other.name != null)
                return false;
        }
        else if (!name.equals(other.name))
            return false;
        if (newPwd == null)
        {
            if (other.newPwd != null)
                return false;
        }
        else if (!newPwd.equals(other.newPwd))
            return false;
        if (orderID == null)
        {
            if (other.orderID != null)
                return false;
        }
        else if (!orderID.equals(other.orderID))
            return false;
        if (parentInnerID == null)
        {
            if (other.parentInnerID != null)
                return false;
        }
        else if (!parentInnerID.equals(other.parentInnerID))
            return false;
        if (password == null)
        {
            if (other.password != null)
                return false;
        }
        else if (!password.equals(other.password))
            return false;
        if (payAccount == null)
        {
            if (other.payAccount != null)
                return false;
        }
        else if (!payAccount.equals(other.payAccount))
            return false;
        if (qq == null)
        {
            if (other.qq != null)
                return false;
        }
        else if (!qq.equals(other.qq))
            return false;
        if (role != other.role)
            return false;
        if (status != other.status)
            return false;
        if (updateDate == null)
        {
            if (other.updateDate != null)
                return false;
        }
        else if (!updateDate.equals(other.updateDate))
            return false;
        if (username == null)
        {
            if (other.username != null)
                return false;
        }
        else if (!username.equals(other.username))
            return false;
        return true;
    }
    
    /** 
     * <pre>
     * <一句话功能简述>
     * <功能详细描述>
     * </pre>
     *
     * @author  xuganhua
     * @version  [版本号, 2016年5月5日]
     * @return
     * @see [类、类#方法、类#成员]
     */
    @Override
    public String toString()
    {
        return "UserBO [id=" + id + ", username=" + username + ", password=" + password + ", newPwd=" + newPwd
            + ", confirmPwd=" + confirmPwd + ", innerID=" + innerID + ", parentInnerID=" + parentInnerID + ", role="
            + role + ", orderID=" + orderID + ", email=" + email + ", status=" + status + ", createDate=" + createDate
            + ", updateDate=" + updateDate + ", payAccount=" + payAccount + ", qq=" + qq + ", name=" + name + "]";
    }
    
}
